home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_combo.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  61 lines

  1. #ifndef __EWL_COMBO_H__
  2. #define __EWL_COMBO_H__
  3.  
  4. /**
  5.  * @file ewl_combo.h
  6.  * @defgroup Ewl_Combo Combo: A Simple Internal Combo Box
  7.  * Defines a combo box used internally. The contents on the box are not drawn
  8.  * outside of the Evas.
  9.  *
  10.  * @{
  11.  */
  12.  
  13. /**
  14.  * @themekey /combo/file
  15.  * @themekey /combo/group
  16.  */
  17.  
  18. /**
  19.  * A simple internal combo box, it is limited to drawing within the current
  20.  * evas.
  21.  */
  22. typedef struct Ewl_Combo Ewl_Combo;
  23.  
  24. /**
  25.  * @def EWL_COMBO(combo)
  26.  * Typecasts a pointer to an Ewl_Combo pointer.
  27.  */
  28. #define EWL_COMBO(combo) ((Ewl_Combo *) combo)
  29.  
  30. /**
  31.  * @struct Ewl_Combo
  32.  * Inherits from the Ewl_Menu_Base and does not extend the structure, but
  33.  * provides policy for drawing on the current evas.
  34.  */
  35. struct Ewl_Combo
  36. {
  37.     Ewl_Menu_Base base; /**< Inherits from menu_base. */
  38.     Ewl_Widget *button; /**< The button used to expand/collapse the selector. */
  39.     Ewl_Widget *selected; /**< An entry that contains the current selection. */
  40. };
  41.  
  42. Ewl_Widget     *ewl_combo_new(char *title);
  43. int         ewl_combo_init(Ewl_Combo *combo, char *title);
  44. Ewl_Widget    *ewl_combo_selected_get(Ewl_Combo *combo);
  45. void         ewl_combo_selected_set(Ewl_Combo *combo, Ewl_Widget *item);
  46.  
  47. /*
  48.  * Internally used callbacks, override at your own risk.
  49.  */
  50. void ewl_combo_item_focus_in_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  51. void ewl_combo_configure_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  52. void ewl_combo_value_changed_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  53. void ewl_combo_expand_cb(Ewl_Widget * w, void *ev_data, void *user_data);
  54. void ewl_combo_collapse_cb(Ewl_Widget * w, void *ev_data, void *user_data);
  55.  
  56. /**
  57.  * @}
  58.  */
  59.  
  60. #endif                /* __EWL_COMBO_H__ */
  61.